<script setup lang="ts">
import { computed } from 'vue'
import {SelectOption} from "ant-design-vue";

export interface OrderStatusProps {
  // 订单状态;1 待确认/待支付-订单创建完毕;105-已支付; 2-备货中； 101-部分发货; 3-已发货（全部发货）;4- 已取消;5 已完成（已收货）;
  order_status: number;
  // 商家平台订单状态，10=待付款，11=用户关闭，12=支付超时，20=待发货，30=已发货，40=已完成，50=已退款
  sj_status: number;
  // 退款状态:1-待退款；3-退款成功； 4-退款失败；当买家发起售后后又主动取消售后，此时after_sale_status=28并且refund_status=1的状态不变，不会流转至4状态；
  refund_status: number;
  // 推送状态，1=待推送，3=推送失败，4=推送中，其他=推送成功
  push_status: number;
  // 推送结果说明
  push_content: string;
  // 售后状态，0-售后初始化， 6-售后申请， 7-售后退货中， 27-拒绝售后申请， 12-售后成功， 28-售后失败， 11-售后已发货， 29-退货后拒绝退款， 13-售后换货商家发货， 14-售后换货用户收货， 51-取消成功， 53-逆向交易完成
  after_sale_status: number;
}

const props = defineProps<OrderStatusProps>()
//   <SelectOption :value="0">未知状态</SelectOption>
//   <SelectOption :value="10">待付款</SelectOption>
//   <SelectOption :value="30">已付款</SelectOption>
//   <SelectOption :value="40">已发货</SelectOption>
//   <SelectOption :value="50">已签收</SelectOption>
//   <SelectOption :value="70">订单成功</SelectOption>
//   <SelectOption :value="80">订单失败</SelectOption>
// <!--        <SelectOption :value="-1">全部</SelectOption>-->
// <!--        <SelectOption :value="2">备货中</SelectOption>-->
// <!--        <SelectOption :value="101">部分发货</SelectOption>-->
// <!--        <SelectOption :value="3">已发货</SelectOption>-->
// <!--        <SelectOption :value="4">已取消</SelectOption>-->
// <!--        <SelectOption :value="5">已完成</SelectOption>-->
const merchantOrderStatus = computed(() => {
  switch (props.order_status) {
    case 0:
      return '未知状态'
    case 10:
      return '待付款'
    case 30:
      return '已付款'
    case 40:
      return '已发货'
    case 50:
      return '已签收'
    case 70:
      return '订单成功'
    case 80:
      return '订单失败'
    default:
      return '无'
  }
})
const orderStatus = computed(() => {
  switch (props.order_status) {
    case 1:
      return '待确认/待支付'
    case 2:
      return '备货中'
    case 3:
      return '已发货（全部发货）'
    case 4:
      return '已取消'
    case 5:
      return '已完成（已收货）'
    case 105:
      return '已支付'
    case 101:
      return '部分发货'
    default:
      return '无'
  }
})

const afterSaleStatus = computed(() => {
  switch (props.refund_status) {
    case 10:
      return '买家已经申请退款，等待卖家同意'
    case 12:
      return '卖家已拒绝，等待买家处理'
    case 20:
      return '协商纠纷，等待平台处理'
    case 30:
      return '卖家已经同意退款，等待买家退货'
    case 40:
      return '买家已经退货，等待卖家确认收货'
    case 45:
      return '卖家已经发货，等待买家确认收货'
    case 50:
      return '卖家已经同意退款，等待系统执行退款'
    case 60:
      return '退款成功'
    case 70:
      return '退款关闭'
    default:
      return '无'
  }
})

const refundStatus = computed(() => {
  switch (props.refund_status) {
    case 1:
      return '待退款'
    case 3:
      return '退款成功'
    case 4:
      return '退款失败'
    default:
      return '无'
  }
})
</script>

<template>
  <div class="flex flex-col text-xs space-y-1">
    <span>订单状态: {{ merchantOrderStatus }}</span>
    <span>售后状态: {{ afterSaleStatus }}</span>
<!--    <span>退款状态: {{ refundStatus }}</span>-->
  </div>
</template>